﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using BAL;
using DevExpress.Xpo.DB;

namespace QuanLyPhongTroDevLinQ
{
    public partial class Frm_ThemHoaDon : Form
    {
        BAL_HoaDon _balHoaDon=new BAL_HoaDon();
        public static bool  _isUpdate;
        
        public Frm_ThemHoaDon()
        {
            InitializeComponent();
            if(_isUpdate)
            {
                this.Text = "Cập nhật hóa đơn";
                this.btnThem.Text = "Cập nhật";
            }
            // This line of code is generated by Data Source Configuration Wizard
            phongTableAdapter1.Fill(quanLyPhongTroDataSet1.Phong);

            //
            lookUpPhong.Enabled = false;
            dtNgayLap.Enabled = false;
            txtSoDien.Enabled = false;
            txtSoNuoc.Enabled = false;

        }
        public void LaySoDienCu(string maPhong,DateTime ngayLap)
        {
            int a = _balHoaDon.SoDienCu(maPhong.Trim(), ngayLap);
            this.lblSoDienCu.Text = a.ToString();
        }

        private void comboBoxEdit1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void btnReset_Click(object sender, EventArgs e)
        {
            txtMaHoaDon.Reset();
            lookUpPhong.Reset();
            dtNgayLap.Reset();
            lblSoDienCu.ResetText();
            txtSoDien.Reset();
            txtSoNuoc.Reset();
            txtMaHoaDon.Focus();
        }

        private void Frm_ThemHoaDon_Load(object sender, EventArgs e)
        {
            if (!_isUpdate)
            {
                lookUpPhong.ItemIndex = 0;

            }
            else
            {

                txtMaHoaDon.Text = Frm_Main.staticHoaDon.MaHoaDon;
                lookUpPhong.Text = Frm_Main.staticHoaDon.MaPhong;
                dtNgayLap.DateTime = Frm_Main.staticHoaDon.NgayLap;
                txtSoDien.Text = Frm_Main.staticSDDien.SoLuongSD.ToString();
                txtSoNuoc.Text = Frm_Main.staticSDNuoc.SoLuongSD.ToString();
                txtMaHoaDon.Enabled = false;}
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            int sodien;
            try
            {
                sodien = int.Parse(txtSoDien.Text);

                if (sodien > int.Parse(lblSoDienCu.Text))
                {
                    if (_isUpdate)
                    {
                        try
                        {
                            _balHoaDon.SuaHoaDon(txtMaHoaDon.Text, lookUpPhong.Text.Trim(), dtNgayLap.DateTime.Date, int.Parse(txtSoDien.Text), int.Parse(txtSoNuoc.Text));
                            MessageBox.Show("Cập nhật thành công!", "Kết quả",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
                            this.Close();
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Lỗi không cập nhật được!", "Lỗi!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            txtMaHoaDon.Focus();
                        }

                    }
                    else
                    {
                        try
                        {
                            _balHoaDon.ThemHoaDon(txtMaHoaDon.Text, lookUpPhong.Text.Trim(), dtNgayLap.DateTime.Date, int.Parse(txtSoDien.Text), int.Parse(txtSoNuoc.Text));
                            MessageBox.Show("Thêm mới thành công!", "Kết quả",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
                            this.Close();
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Lỗi không thêm được!", "Lỗi!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            txtMaHoaDon.Focus();
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Giá Trị Nhập Không Hợp Lệ!"); }

            }
            catch (Exception)
            {
                MessageBox.Show("Giá Trị Nhập Không Hợp Lệ!"); 
               
            }
        }

        private void txtMaHoaDon_EditValueChanged(object sender, EventArgs e)
        {
            lookUpPhong.Enabled = true;
            
        }

        private void lookUpPhong_EditValueChanged(object sender, EventArgs e)
        {
           
            dtNgayLap.Enabled = true;
            try
            {
                LaySoDienCu(lookUpPhong.Text.Trim(), dtNgayLap.DateTime.Date);
            }
            catch (Exception)
            {
                
            }

            
        }

        private void dtNgayLap_EditValueChanged(object sender, EventArgs e)
        {
            txtSoDien.Enabled = true;
            txtSoNuoc.Enabled = true;
            try
            {
                LaySoDienCu(lookUpPhong.Text.Trim(),dtNgayLap.DateTime.Date);
            }
            catch (Exception)
            {
                
            }
        }
    }
}
